]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
appMenu: Update "new-window" item on state changes
authorFlorian Müllner <fmuellner@gnome.org>
Thu, 12 Aug 2021 01:49:37 +0000 (03:49 +0200)
committerMarge Bot <marge-bot@gnome.org>
Mon, 16 Aug 2021 21:28:22 +0000 (21:28 +0000)
Stopped apps can *always* open a new window, so before we start
using the menu for non-running apps, make sure to hide the menu
item as necessary.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1948>

js/ui/appMenu.js

index 7f25566e020aa942e2b9d934f71b2a3a2a8a5d9e..425faebb52244bd5bff51a4f11e9cca85ab6c229 100644 (file)
@@ -93,12 +93,19 @@ var AppMenu = class AppMenu extends PopupMenu.PopupMenu {
             return;
 
         this._updateQuitItem();
+        this._updateNewWindowItem();
     }
 
     _updateQuitItem() {
         this._quitItem.visible = this._app?.state === Shell.AppState.RUNNING;
     }
 
+    _updateNewWindowItem() {
+        const actions = this._app?.appInfo?.list_actions() ?? [];
+        this._newWindowItem.visible =
+            this._app?.can_open_new_window() && !actions.includes('new-window');
+    }
+
     _updateDetailsVisibility() {
         const sw = this._appSystem.lookup_app('org.gnome.Software.desktop');
         this._detailsItem.visible = sw !== null;
@@ -164,9 +171,8 @@ var AppMenu = class AppMenu extends PopupMenu.PopupMenu {
             });
         });
 
-        this._newWindowItem.visible =
-            app && app.can_open_new_window() && !actions.includes('new-window');
         this._updateQuitItem();
+        this._updateNewWindowItem();
     }
 
     _queueUpdateWindowsSection() {